const path = require('path')

function resolve(dir) {
  return path.join(__dirname, dir)
}

const name = '云耀生产管理系统' // 页面标题

const devPort = 1024 // 开发环境 下的 前端 端口

// 详细配置见此： https://cli.vuejs.org/config/
module.exports = {
  publicPath: '/', // 访问路径
  outputDir: 'JLINK', // 打包之后输出的文件夹
  assetsDir: 'static', // 生成的静态资源文件夹（ outputDir 下）
  lintOnSave: true, // eslint -loader 会将 lint 错误输出为编译警告
  productionSourceMap: false, // 加速生产环境构建
  devServer: {// 开发环境下的配置
    port: devPort, // 端口
    open: false, // 自动打开
    disableHostCheck: true,
    overlay: {// 是否显示警告和错误
      warnings: false,
      errors: true
    },
    // proxy: apiAddress // 开发时的配置，本地 Nginx 端口（配置好rewrite）
    proxy: {
      '/common': {
        target: 'http://101.43.85.245:8080/', // common 模块的端口
        changeOrigin: true,
        pathRewrite: {
          '^/common': '' // api里面的 /common 替换为    （后端的 common 模块接口是没有 /common 的）
        }
      }
    }
  },
  configureWebpack: {
    name: name,
    resolve: {
      alias: {
        '@': resolve('src')
      }
    },
    externals: {
      './cptable': 'var cptable'
    }
  },
  chainWebpack(config) {
    config.plugins.delete('preload')
    config.plugins.delete('prefetch')
    config.module
      .rule('svg')
      .exclude.add(resolve('src/icons'))
      .end()
    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(resolve('src/icons'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]'
      })
      .end()

    // set preserveWhitespace
    config.module
      .rule('vue')
      .use('vue-loader')
      .loader('vue-loader')
      .tap(options => {
        options.compilerOptions.preserveWhitespace = true
        return options
      })
      .end()
  }
  // ,
  // css: {
  //   loaderOptions: {
  //     postcss: {
  //       plugins: [
  //         require('postcss-px2rem')({
  //           remUnit: 192
  //         })
  //       ]
  //     }
  //   }
  // }
}
